package com.znh.common;

import redis.clients.jedis.Jedis;

/**
 * @version 1.0
 * @Author znh
 * @Date 2024/6/3 下午4:13
 * @注释 Redis操作方法封装
 */
public class RedisQuery {
    /**
     * 添加数据,相同key会覆盖数据，所以也相当于改
     * @param key
     * @param value
     */
    public static void set(String key, String value) {
        Jedis jedis = JedisDbPool.getConnectJedis();
        jedis.set(key, value);
        //Jedis3.0版本后jedisPool.returnResource(final Jedis resource)方法已被弃用，用jedis.close()代替 来归还连接
        jedis.close();
    }

    /**
     * 添加数据，带超时时间，超时自动销毁
     * @param key
     * @param value
     * @param seconds
     */
    public static void setEx(String key, String value, int seconds){
        Jedis jedis = JedisDbPool.getConnectJedis();
        jedis.setex(key, seconds, value);
        jedis.close();
    }

    /**
     * 根据key删除数据
     * @param key
     */
    public static void deleteByKey(String key) {
        Jedis jedis = JedisDbPool.getConnectJedis();
        jedis.del(key);
        jedis.close();
    }

    /**
     * 根据key查询
     * @param key
     * @return
     */
    public static String getByKey(String key) {
        Jedis jedis = JedisDbPool.getConnectJedis();
        String value = jedis.get(key);
        jedis.close();
        return value;
    }

    /**
     * 查询某条数据是否存在
     * @param key
     * @return true:存在
     */
    public static boolean isExist(String key){
        Jedis jedis = JedisDbPool.getConnectJedis();
        boolean exist = jedis.exists(key);
        jedis.close();
        return exist;
    }
}
